﻿/* 
 * Since 2008 - 2012
 */

package com.hh.bss.oa.service;
import java.io.Serializable;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;

import java.util.*;

import com.hh.bss.auth.client.OnlineUser;
import com.hh.bss.base.*;
import com.hh.bss.common.page.*;
import com.hh.bss.common.page.impl.*;
import com.hh.bss.customer.entity.Customer;
import com.hh.bss.oa.dao.*;
import com.hh.bss.oa.entity.*;
import com.hh.bss.oa.service.*;
import com.hh.bss.oa.vo.query.*;
import com.hh.bss.project.entity.AccountPn;
import com.hh.bss.project.entity.ContractJob;
import com.hh.bss.project.entity.ContractJobCvInterview;
import com.hh.bss.project.entity.ContractJobCvOffer;
import com.hh.bss.project.entity.ContractJobCvRecom;
import com.hh.bss.project.entity.SearchProjectInterview;
import com.hh.bss.util.*;





public interface OaEmailSendService<E,PK extends Serializable> extends  BusinessService<E,PK>{
	public Page findPage(OaEmailSendQuery query);
	//CR-人选推荐表；PN-付款通知单；IV-面试；OG－发送保证期跟踪；RT-发送候选人感谢信；CI-公司介绍；JD-职位介绍
	//官网申请email
	public OaEmailSend getCREmail (ContractJobCvRecom contractJobCvRecom,OnlineUser onlineUser);
	public OaEmailSend getPNEmail (AccountPn accountPn,OnlineUser onlineUser);
	public OaEmailSend getConsultantIVEmail (SearchProjectInterview searchProjectInterview,OnlineUser onlineUser);
	public OaEmailSend getCustomerIVEmail (ContractJobCvInterview contractJobCvInterview,OnlineUser onlineUser);
	public OaEmailSend getOGEmail (ContractJobCvOffer contractJobCvOffer,OnlineUser onlineUser);
	public OaEmailSend getRTEmail (ContractJobCvRecom contractJobCvRecom,OnlineUser onlineUser);
	public OaEmailSend getCIEmail (Customer customer,OnlineUser onlineUser);
	public OaEmailSend getJDEmail (Integer cvId,Integer jobId,OnlineUser onlineUser);
	public OaEmailSend getJAEmailByMap (Map m);
	public void saveFile(MultipartHttpServletRequest multipartRequest,MultipartFile multipartFile, OaEmailSend oaEmailSend,int type );
	public boolean checkJobRecomSender(OaEmailSend oaEmailSend);
}
